/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package QLThuVien.BLL;

import QLThuVien.DAL.MyConnectUnit;
import QLThuVien.DTO.*;
import java.sql.ResultSet;
import java.util.HashMap;
import java.util.HashSet;

/**
 *
 * @author Rado
 */
public class BCTBCMuonSach {
    MyConnectUnit connect;
    
    public BCTBCMuonSach(){
        //this.connect = new MyConnectUnit("localhost", "root", "123456", "QLTV");
        this.connect = new MyConnectUnit("", "sa", "123456", "QLTV");
    }
    
    public HashSet<CTBCMuonSach> getCTBCMuonSachs(String Condition, String OrderBy) throws Exception{
         ResultSet result = this.connect.Select("CT_BC_MUONSACH", Condition, OrderBy);
         HashSet<CTBCMuonSach> ctbcmuonsachs = new HashSet<CTBCMuonSach>();
         while(result.next()){
             CTBCMuonSach ctbcmuonsach = new CTBCMuonSach();
             ctbcmuonsach.setMaBCMS(result.getString("MaBCMS"));
             ctbcmuonsach.setMaTheLoai(result.getString("MaTheLoai"));
             ctbcmuonsach.setLuotMuon(result.getString("LuotMuon"));
             ctbcmuonsach.setTiLe(result.getString("TiLe"));             
             ctbcmuonsachs.add(ctbcmuonsach);
         }
         return ctbcmuonsachs;
     }
    
    public HashSet<CTBCMuonSach> getCTBCMuonSachs(String Condition) throws Exception{
        return getCTBCMuonSachs(Condition, null);
    }
    
    public HashSet<CTBCMuonSach> getCTBCMuonSachs() throws Exception{
        return getCTBCMuonSachs(null);
    }
    
    public CTBCMuonSach getByID(String mabcms, String matheloai) throws Exception{
        HashSet<CTBCMuonSach> ctbcmuonsachs = this.getCTBCMuonSachs("MaBCMS = " + mabcms + " AND MaTheLoai = " + matheloai);
        if(ctbcmuonsachs.size() > 0)
            return ctbcmuonsachs.toArray(new CTBCMuonSach[ctbcmuonsachs.size()])[0];
        return null;
    }
    
    public void InsertCTBCMuonSach(CTBCMuonSach ctbcmuonsach) throws Exception{
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("MaBCMS", ctbcmuonsach.getMaBCMS());       
        map.put("MaTheLoai", ctbcmuonsach.getMaTheLoai());
        map.put("LuotMuon", ctbcmuonsach.getLuotMuon());       
        map.put("TiLe", ctbcmuonsach.getTiLe()); 
        this.connect.Insert("CT_BC_MUONSACH", map);
    }
    
    public void InsertCTBCMuonSach(HashSet<CTBCMuonSach> ctbcmuonsachs) throws Exception{
        for(CTBCMuonSach ctbcmuonsach:ctbcmuonsachs)
            this.InsertCTBCMuonSach(ctbcmuonsach);
    }
    
    public void UpdateCTBCMuonSach(CTBCMuonSach ctbcmuonsach) throws Exception{
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("LuotMuon", ctbcmuonsach.getLuotMuon());       
        map.put("TiLe", ctbcmuonsach.getTiLe()); 
        this.connect.Update("CT_BC_MUONSACH", map, "MaBCMS = " + ctbcmuonsach.getMaBCMS()+ "AND MaTheLoai = " + ctbcmuonsach.getMaTheLoai());
    }
    
    public void UpdateCTBCMuonSach(HashSet<CTBCMuonSach> ctbcmuonsachs) throws Exception{
        for(CTBCMuonSach ctbcmuonsach:ctbcmuonsachs)
            this.UpdateCTBCMuonSach(ctbcmuonsach);
    }
    
    public void DeleteCTBCMuonSach(CTBCMuonSach ctbcmuonsach) throws Exception{
        this.connect.Delete("CT_BC_MUONSACH", "MaBCMS = " + ctbcmuonsach.getMaBCMS()+ "AND MaTheLoai = " + ctbcmuonsach.getMaTheLoai());
    }
    
    public void DeleteCTBCMuonSach(HashSet<CTBCMuonSach> ctbcmuonsachs) throws Exception{
        for(CTBCMuonSach ctbcmuonsach:ctbcmuonsachs)
            this.DeleteCTBCMuonSach(ctbcmuonsach);
    }
}
